#include <bits/stdc++.h>

using namespace std;

const int N=2e5+10;

int f[N];
struct lqq{
    int x,y,z;
    bool friend operator < (lqq x,lqq y){
        return x.z<y.z;
    }
}a[N];
int find(int x){
    if(x!=f[x])f[x]=find(f[x]);
    return f[x];
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
    int n,m;
    cin >> n >> m;
    for(int i=1;i<=n;i++)f[i]=i;
    for(int i=0;i<m;i++){
        cin>>a[i].x>>a[i].y>>a[i].z;
    }
    sort(a,a+m);
    int ans=0,sum=0;
    for(int i=0;i<m;i++){
        if(find(a[i].x)!=find(a[i].y)){
           f[find(a[i].x)]=find(a[i].y);
            sum+=a[i].z;
            ans++;
        }
    }
    if(ans==n-1)
    cout<<sum;
    else puts("impossible");
}
